home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- GDS access library.
- version 1.20.
-
- 哇内 進 ( Wonder's Dream )
-
-
-
-
-
-
-
-
-
-
- 割り込みオペレ-ション
- interrupt operation
-
-
-
-
-
- ■ 初期化
-
- 【 書式 】 char *GDS_init(int size);
-
- 【 引数 】 int size 作業領域のサイズ
-
- 【戻り値】 char *work 作業領域のアドレス
-
- 【 解説 】 GDS, 作業領域 を初期化します。
- 作業領域のサイズは、各グラフィックオペレーションで指定されて
- いる作業領域のサイズの総和+αとなります。戻り値で受け取る
- 作業領域のアドレスは本ライブラリのグラフィックオペレーションを
- 呼び出す時の引数で必要になります。
- なお、作業領域は本関数が自動的にスモ-ルモデルのヒ-プ領域
- から獲得します。ですから、獲得できる作業領域の最大サイズは
- 【 64Kバイト-スタック領域-DATA領域-BSS領域 】
- となります。
-
-
- ■ パレットレジスタの設定
-
- 【 書式 】 int GDS_palette(int color,char red,char green,char blue);
-
- 【 引数 】 int color 色識別番号
- char red 赤系の色階調 ( 0 ~ 255 )
- char green 緑系の色階調 ( 0 ~ 255 )
- char blue 青系の色階調 ( 0 ~ 255 )
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 パレットレジスタに対応する色を設定します。
-
-
- ■ 全画面の消去
-
- 【 書式 】 int GDS_all_clear(void);
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 書き込みペ-ジの全画面を消去します。
-
-
- ■ ドットデ-タの読み込み
-
- 【 書式 】 char *GDS_get_block(int x1,int y1,int x2,int y2,char page);
-
- 【 引数 】 int x1 X座標値
- int y1 Y座標値
- int x2 対角のX座標値
- int y2 対角のY座標値
- char page 読み込みペ-ジ
-
- 【戻り値】 char * work ドットデ-タの格納領域
- NULL : 読み込み失敗
-
- 【 解説 】 矩形域内のドットデ-タを読み込みます。戻り値が NULL の
- 場合は読み込みに失敗したことを示しています。凡そ考えられる
- 失敗の理由は、ドットデ-タを格納するヒ-プ領域の不足と
- 思われます。
-
-
- ■ ドットデ-タの書き込み
-
- 【 書式 】 int GDS_put_block(char *data,int x1,int y1,int x2,int y2,
- char page,char mode);
-
- 【 引数 】 char * work ドットデ-タの格納領域
- int x1 X座標値
- int y1 Y座標値
- int x2 対角のX座標値
- int y2 対角のY座標値
- char page 書き込みペ-ジ
- char mode 書き込みモ-ド
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 矩形域内のドットデ-タを書き込みます。
-
-
- ■ 部分画面の複写
-
- 【 書式 】 int GDS_move_block(int x1,int y1,int x2,int y2,int x3,int y3,
- char src_page,char dest_page,char mode);
-
- 【 引数 】 int x1 複写元X座標値
- int y1 〃 Y座標値
- int x2 〃 対角のX座標値
- int y2 〃 対角のY座標値
- int x2 複写元X座標値
- int y2 〃 Y座標値
- char src_page 複写元ペ-ジ
- char dest_page 複写先ペ-ジ
- char mode 書き込みモ-ド
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 矩形域内のドットデ-タを複写します。
-
-
- ■ 部分画面の消去
-
- 【 書式 】 int GDS_part_clear(int x1,int y1,int x2,int y2,char page);
-
- 【 引数 】 int x1 X座標値
- int y1 Y座標値
- int x2 対角のX座標値
- int y2 対角のY座標値
- char page 消去ペ-ジ
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 矩形域内のドットデ-タを消去します。
-
-
- ■ 書き込みペ-ジの指定
-
- 【 書式 】 int GDS_write_page(char page);
-
- 【 引数 】 char page 書き込みペ-ジ
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 書き込みペ-ジを指定します。
-
-
- ■ 表示ペ-ジの指定
-
- 【 書式 】 int GDS_display_page(char page);
-
- 【 引数 】 char page 表示ペ-ジ
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 表示ペ-ジを指定します。
-
-
- ■ 図形デ-タの出力
-
- 【 書式 】 int GDS_display(char *wp);
-
- 【戻り値】 int ret 0 : 正常終了
-
- 【 解説 】 図形デ-タを出力します。
- 本ライブラリは呼出し方の違いから 割り込みオペレ-ション と
- セッティングオペレ-ション の2種に分類できます。
- 割り込みオペレ-ションは呼び出した時点で、セッティング
- オペレ-ションは GDS_display 関数を呼び出した時点で描画
- されます。つまり、セッティングオペレ-ション は作業領域に
- デ-タを転送するのみで、実際の描画は GDS_display 関数を
- 呼び出し、GDS に通知することで実現しています。
-
-
-
-
-
- セッティングオペレ-ション
- setting operation
-
-
-
-
-
- ■ クリップ枠
-
- 【 書式 】 void GDS_clip_frame(char *wp,int x1,int y1,int x2,int y2);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 X座標値
- int y1 Y座標値
- int x2 対角のX座標値
- int y2 対角のY座標値
-
- 《 作業領域のサイズ 》 10 バイト
-
-
- ■ クリップモ-ド
-
- 【 書式 】 void GDS_clip_mode(char *wp,char mode);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char mode クリップモ-ド
-
- クリップモ-ド :
- SCREEN 画面枠
- CLIP クリップ枠
- VIEWPORT ビュ-ポ-ト
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 不連続線分
-
- 【 書式 】 void GDS_line(char *wp,int x1,int y1,int x2,int y2);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 X座標値
- int y1 Y座標値
- int x2 対角のX座標値
- int y2 対角のY座標値
-
- 《 作業領域のサイズ 》 10 バイト
-
-
- ■ ポイント
-
- 【 書式 】 void GDS_point(char *wp,int x1,int y1);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 X座標値
- int y1 Y座標値
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ ペイント
-
- 【 書式 】 void GDS_paint(char *wp,int x1,int y1,int color);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 X座標値
- int y1 Y座標値
- int color 色識別番号 ( 0 ~ 15 )
-
- 《 作業領域のサイズ 》 12 バイト
-
-
- ■ 矩形
-
- 【 書式 】 void GDS_rectangle(char *wp,int x1,int y1,int x2,int y2);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 X座標値
- int y1 Y座標値
- int x2 対角のX座標値
- int y2 対角のY座標値
-
- 《 作業領域のサイズ 》 10 バイト
-
-
- ■ 円
-
- 【 書式 】 void GDS_circle(char *wp,int x1,int y1,int r);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 中心X座標値
- int y1 中心Y座標値
- int r 半径
-
- 《 作業領域のサイズ 》 8 バイト
-
-
- ■ 円弧
-
- 【 書式 】 void GDS_arc_circle(char *wp,int x1,int y1,
- int sx,int sy,int ex,int ey,int r);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 中心X座標値
- int y1 中心Y座標値
- int sx 開始軸X成分
- int sy 開始軸Y成分
- int ex 終了軸X成分
- int ey 終了軸Y成分
- int r 半径
-
- 《 作業領域のサイズ 》 16 バイト
-
-
- ■ 扇形(円)
-
- 【 書式 】 void GDS_fan_circle(char *wp,int x1,int y1,
- int sx,int sy,int ex,int ey,int r);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 中心X座標値
- int y1 中心Y座標値
- int sx 開始軸X成分
- int sy 開始軸Y成分
- int ex 終了軸X成分
- int ey 終了軸Y成分
- int r 半径
-
- 《 作業領域のサイズ 》 18 バイト
-
-
- ■ 楕円
-
- 【 書式 】 void GDS_ellipse(char *wp,int x1,int y1,int x2,int y2);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 中心X座標値
- int y1 中心Y座標値
- int x2 X成分
- int y2 Y成分
-
- 《 作業領域のサイズ 》 14 バイト
-
-
- ■ 楕円弧
-
- 【 書式 】 void GDS_arc_ellipse(char *wp,int x1,int y1,int x2,int y2,
- float srad,float erad);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 中心X座標値
- int y1 中心Y座標値
- int x2 X成分
- int y2 Y成分
- float srad 開始角 ( ラジアン )
- float erad 終了角 ( ラジアン )
-
- 《 作業領域のサイズ 》 22 バイト
-
-
- ■ 扇形(楕円)
-
- 【 書式 】 void GDS_fan_ellipse(char *wp,int x1,int y1,int x2,int y2,
- float srad,float erad);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int x1 中心X座標値
- int y1 中心Y座標値
- int x2 X成分
- int y2 Y成分
- float srad 開始角 ( ラジアン )
- float erad 終了角 ( ラジアン )
-
- 《 作業領域のサイズ 》 24 バイト
-
-
- ■ 線種
-
- 【 書式 】 void GDS_line_style(char *wp,char style);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char style 線分識別番号
-
- 線分識別番号 :
- 1 実線
- 2 破線
- 3 点線
- 4 一点鎖線
- 5 二点鎖線
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 線色
-
- 【 書式 】 void GDS_line_color(char *wp,int color);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int color 色識別番号 ( 0 ~ 15 )
-
- 《 作業領域のサイズ 》 4バイト
-
-
- ■ ポイント色
-
- 【 書式 】 void GDS_point_color(char *wp,int color);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int color 色識別番号 ( 0 ~ 15 )
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 面塗りモ-ド
-
- 【 書式 】 void GDS_paint_mode(char *wp,char mode);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char mode 面塗りモ-ド
-
- 面塗りモ-ド :
- N 塗らない
- BF 塗り潰し
- TF タイル塗り
- HF ハッチング塗り
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 面塗り色
-
- 【 書式 】 void GDS_paint_color(char *wp,int color);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int color 色識別番号 ( 0 ~ 15 )
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ ハッチング種
-
- 【 書式 】 void GDS_hatching_style(char *wp,char style);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char style ハッチング識別番号
-
- ハッチング識別番号 :
- 1 水平線
- 2 垂直線
- 3 斜線1
- 4 斜線2
- 5 交差
- 6 斜線交差
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ タイル種
-
- 【 書式 】 void GDS_tyle_style(char *wp,char style);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char style タイル識別番号
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 境界線種
-
- 【 書式 】 void GDS_boundary_style(char *wp,char style);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char style 線分識別番号
-
- 線分識別番号 :
- 1 実線
- 2 破線
- 3 点線
- 4 一点鎖線
- 5 二点鎖線
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 境界線色
-
- 【 書式 】 void GDS_boundary_color(char *wp,int color);
-
- 【 引数 】 char * wp 作業領域のアドレス
- int color 色識別番号 ( 0 ~ 15 )
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 境界線モ-ド
-
- 【 書式 】 void GDS_boundary_mode(char *wp,char mode);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char mode 境界線モ-ド
-
- 境界線モ-ド :
- 0 境界線を描画しない
- 1 境界線を描画する
-
- 《 作業領域のサイズ 》 4 バイト
-
-
- ■ 描画モ-ド
-
- 【 書式 】 void GDS_draw_mode(char *wp,char mode);
-
- 【 引数 】 char * wp 作業領域のアドレス
- char mode 描画モ-ド
-
- 描画モ-ド :
- PRESET 背景色で描画する
- AND 論理積をとって描画する
- PSET 色識別番号で描画する
- XOR 排他的論理和とって描画する
- OR 論理和とって描画する
- NOT 論理否定とって描画する
-
- 《 作業領域のサイズ 》 8 バイト
-
-